home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / program / misc / m2pica.lha / M2Pica / VilIntuiSup.DOK < prev    next >
Text File  |  1995-08-21  |  7KB  |  224 lines

  1. Short: Use the picasso gfxboard with Modula-2
  2. Uploader: C.Wartmann@GANDALF.berlinet.de
  3. Author: C.Wartmann@GANDALF.berlinet.de
  4. Type: dev/m2
  5.  
  6.  
  7. Use your Picasso II with Modula-2 ! Every function of vilintuisup.library
  8. avaible via Modula-2 + fast ML Line-routines. Lots of demo programms.
  9.  
  10. FREEWARE, but please send me your suggestions/enhancements etc. via E-Mail.
  11.  
  12.  
  13.  
  14. Dokumentatation zu den Modula-2 Schnittstellenmodulen für die
  15. Picasso Grafikkarte von VillageTronic.
  16.  
  17. *******************************************************************************
  18.  : Program.         VilIntuiSupL.def
  19.  : Author.          Carsten Wartmann (Crazy Video)
  20.  : Address.         Wutzkyallee 83, 12353 Berlin
  21.  : Phone.           030/6614776 
  22.  : E-Mail           C.WARTMANN@GANDALF.berlinet.de
  23.                     Carsten_Wartmann@tfh-berlin.de
  24.  : Version.         0.99c (0.99b)
  25.  : Date.            21.08.1995 (16.11.1994) (24.8.94) (22.Feb.1994) 
  26.  : Copyright.       Freeware
  27.  : Language.        Modula-2
  28.  : Compiler.        M2Amiga V4.3d
  29.  : Contents.        Macht die VilIntuiSup.library für MODULA-2 (M2Amiga)
  30.  : Contents.        Programmierer nutzbar.
  31. *******************************************************************************)
  32.  
  33.  
  34. Folgende Routinen stellt die VilIntuiSup.library zur Verfügung :
  35.  
  36. DEFINITION MODULE VilIntuiSupL{"vilintuisup.library",2} ;
  37.  
  38.  
  39. FROM SYSTEM     IMPORT ADDRESS,BYTE ;
  40. FROM ExecD      IMPORT ListPtr ;
  41. FROM IntuitionD IMPORT ScreenPtr,RememberPtr ;
  42. FROM UtilityD   IMPORT TagItemPtr,Tag ;
  43.  
  44. IMPORT vil:VilIntuiSupD,R ;
  45.  
  46.  
  47.  
  48. (* Old function, do not use in future !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  49. PROCEDURE OpenVillageScreen(mode{R.A0} : vil.DimensionPtr) : ScreenPtr ; 
  50.           CODE -30 ;
  51.  
  52. PROCEDURE OpenVillageScreenTagList(tags{R.A0} : TagItemPtr) : ScreenPtr ; 
  53.           CODE -114 ;
  54.  
  55. PROCEDURE CloseVillageScreen(screen{R.A0} : ScreenPtr) ; 
  56.           CODE -36 ;
  57.      
  58. PROCEDURE LockVillageScreen(screen{R.A0}   : ScreenPtr) : ADDRESS ; 
  59.           CODE -42 ;
  60. PROCEDURE UnLockVillageScreen(screen{R.A0} : ScreenPtr) ; 
  61.           CODE -48 ;
  62.  
  63. PROCEDURE GetMemSize(screen{R.A0} : ScreenPtr) : LONGCARD ;
  64.           CODE -72 ;
  65.  
  66. PROCEDURE VillageScreenData(screen{R.A0} : ScreenPtr ;
  67.                             tag{R.D0}    : Tag) : LONGCARD ; 
  68.           CODE -120 ;
  69.  
  70. PROCEDURE IsVillageScreen(screen{R.A0} : ScreenPtr) : BOOLEAN ; 
  71.           CODE -66 ;
  72.  
  73. PROCEDURE VillageRectFill(screen{R.A0}  : ScreenPtr ;
  74.                           fillrec{R.A1} : vil.VilFillRecordPtr) : LONGINT ; 
  75.                           CODE -78 ;
  76.  
  77. PROCEDURE VillageBlitCopy(screen{R.A0} : ScreenPtr ;
  78.                           record{R.A1} : vil.VilCopyRecordPtr) ;
  79.           CODE -54 ;
  80.  
  81. PROCEDURE WaitVillageBlit ;
  82.           CODE -60 ;
  83.  
  84. PROCEDURE VillageModeRequest(tags{R.A0} : TagItemPtr) : LONGCARD ;
  85.           CODE -84 ;
  86. PROCEDURE VillageModeList(memorykey{R.A0} : RememberPtr ;
  87.                           tags{R.A1}      : TagItemPtr) : ListPtr ;
  88.           CODE -90 ;
  89. PROCEDURE VillageBestModeID(tags{R.A0} : TagItemPtr) : LONGCARD ;
  90.           CODE -108 ;
  91.  
  92. PROCEDURE VillageGetBufAddr(screen{R.A0} : ScreenPtr ;
  93.                             num{R.D0}    : LONGCARD) : ADDRESS ;
  94.           CODE -126 ;
  95. PROCEDURE VillageSetDisplayBuf(screen{R.A0} : ScreenPtr ;
  96.                                num{R.D0}    : LONGCARD) ;
  97.           CODE -132 ;
  98.  
  99.  
  100. PROCEDURE VillageSetSegment(segnum{R.D0} : LONGCARD) ;
  101.           CODE -96 ;
  102. PROCEDURE VillageGetSegment ;
  103.           CODE -102 ;
  104.  
  105.  
  106. END VilIntuiSupL.lib2
  107.  
  108.  
  109.  
  110.  
  111.  
  112. Ansonsten ist noch VilIntuiSupD.def aufschlussreich.
  113.  
  114. (*******************************************************************************
  115.  : Program.         VilIntuiSupD.def
  116.  : Author.          Carsten Wartmann (Crazy Video)
  117.  : Address.         Wutzkyallee 83, 12353 Berlin
  118.  : Phone.           030/6614776
  119.  : E-Mail           C.Wartmann@GANDALF.berlinet.de (bevorzugt)
  120.  : E-Mail           Carsten_Wartmann@tfh-berlin.de
  121.  : Version.         1.0
  122.  : Date.            21.08.1995 (16.Nov.1994)
  123.  : Copyright.       Freeware
  124.  : Language.        Modula-2
  125.  : Compiler.        M2Amiga V4.3d
  126.  : Contents.        Macht die VilIntuiSup.library für MODULA-2 (M2Amiga)
  127.  : Contents.        Programmierer nutzbar.
  128.  : Contents.        Enthält Die Definitionen der Tags, Const. etc. für
  129.  : Contents.        die VilIntuiSup.library
  130. *******************************************************************************)
  131.  
  132. DEFINITION MODULE VilIntuiSupD ;
  133.  
  134.  
  135. FROM ExecD      IMPORT Node ;
  136.  
  137. FROM IntuitionD IMPORT ScreenPtr ;
  138.  
  139. FROM UtilityD   IMPORT tagUser ;
  140.  
  141. FROM SYSTEM     IMPORT ADDRESS,BYTE ;
  142.  
  143. IMPORT R;
  144.  
  145. [...]  Definitionen gelöscht !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  146.  
  147. (* Support *)
  148.  
  149. (* Setze PP für 68000er *)
  150. PROCEDURE SetPackedPixel(scr{R.A0} : ScreenPtr ; x{R.D2},y{R.D3} : CARDINAL ;
  151.                                                  color{R.D4} : CARDINAL) ;
  152.  
  153. (* Setze TrueColorPixel *)
  154.  
  155. PROCEDURE SetTrueColorPixel(scr{R.A0} : ScreenPtr ; x{R.D2},y{R.D3}         : CARDINAL ;
  156.                                                     r{R.D4},g{R.D5},b{R.D6} : CARDINAL) ;
  157.  
  158. (* Setze 15(6)BitPixel *)
  159.  
  160. PROCEDURE Set15BitPixel(scr{R.A0} : ScreenPtr ; x{R.D2},y{R.D3}         : CARDINAL ;
  161.                                                 r{R.D4},g{R.D5},b{R.D6} : CARDINAL) ;
  162.  
  163. PROCEDURE Set16BitPixel(scr{R.A0} : ScreenPtr ; x{R.D2},y{R.D3}         : CARDINAL ;
  164.                                                 r{R.D4},g{R.D5},b{R.D6} : CARDINAL) ;
  165.  
  166. (* Linienroutinen *)
  167.  
  168. (* In Assembler aber mit Sicherheitsabfrage *)
  169. PROCEDURE LinePacked(scr{R.A0} : ScreenPtr ; x1{R.D5},y1{R.D6},
  170.                                               x2{R.D2},y2{R.D3},color{R.D4} : LONGINT) ;
  171.                                              color{R.D4} : INTEGER) ;
  172.  
  173. PROCEDURE LineTrueColor(scr : ScreenPtr ; x1,y1,x2,y2,r,g,b : INTEGER) ;
  174.  
  175. PROCEDURE Line15Bit(scr : ScreenPtr ; x1,y1,x2,y2,r,g,b : INTEGER) ;
  176.  
  177. PROCEDURE Line16Bit(scr : ScreenPtr ; x1,y1,x2,y2,r,g,b : INTEGER) ;
  178.  
  179. (* Hi-Color Support*)
  180.  
  181. PROCEDURE Get15FromRGB(r{R.D4},g{R.D5},b{R.D6} : CARDINAL) : CARDINAL ;
  182. PROCEDURE Get16FromRGB(r{R.D4},g{R.D5},b{R.D6} : CARDINAL) : CARDINAL ;
  183.  
  184. PROCEDURE Kreis(scr : ScreenPtr ; x,y,r,col : INTEGER) ;
  185.  
  186. PROCEDURE ClearScreen(scr : ScreenPtr) ;
  187.  
  188. PROCEDURE ClearBuf(scr : ScreenPtr ; bufadr : ADDRESS) ;
  189.  
  190.  
  191. END VilIntuiSupD .
  192.  
  193.  
  194.  
  195.  
  196. Hier nun eine detailiertere Beschreibung :
  197.  
  198.  
  199. Tja, ist noch in Arbeit... Man schaue sich die Demos an.
  200. Ansonsten wäre da noch die Doku von VT zur Vilintui, die Unterschiede
  201. der Bezeichner erkennt man aus den defs etc.
  202.  
  203. Also *mir* reichen die Schnittstellen so wie sie jetzt sind. Wenn keine
  204. Reaktion kommt ist das auch die letzte Veröffentlichung. Ohne
  205. Anregungen/Kritik mache ich nicht weiter.
  206. Ich bitte jeden mir eine E-Mail zu schreiben, der diese Soft benutzt.
  207.  
  208. (*
  209. Zu sagen wäre noch, das anscheinend in der Software von VillageTronic noch
  210. einige "Käfer" sind, so funktioniert z.B. das Blitten vom System-Mem ins
  211. Graphic-Mem nicht (naja, wenn Enforcer läuft gehts manchmal...)
  212. *)
  213. Das funktioniert jetzt. Obwohl ich mehrmals VT auf diesen Fehler
  214. hingewiesen habe kam keine Reaktion. Nach dem letzten Update der
  215. Picasso-Soft ging es plötzlich !
  216.  
  217.  
  218. Die Punktsetzroutinen und die Chunky-Pixelroutine sind in Assembler
  219. implementiert und schneller als die C-Konstrukte von VT.
  220.  
  221.  
  222. MfG Carsten.
  223. ============
  224.